function IMMValidateForm()
{
 try { 
       var sTemp;
       var fieldRequired = Array("CSTM_C_CORP_FLAG");
       var fieldDescription  = Array("Check Form of Organization");
       
       //LLC Limited
       var CSTM_LLC_FLAG = this.getField("CSTM_LLC_FLAG");
       //we only list the first CB name grom the group defined in the mutually exclusive CB group
       var CSTM_LLC_C_CORP_FLAG = this.getField("CSTM_LLC_C_CORP_FLAG");
       var CSTM_LLC_S_CORP_FLAG = this.getField("CSTM_LLC_S_CORP_FLAG");
       var CSTM_LLC_PART_FLAG = this.getField("CSTM_LLC_PART_FLAG");

       if (CSTM_LLC_FLAG.value == 1)
       {
       		fieldRequired.splice(fieldRequired.length,0,"CSTM_LLC_C_CORP_FLAG");
        	fieldDescription.splice(fieldDescription.length,0,"Check C, S or P");
       }

       //Partnership
       var CSTM_PART_FLAG = this.getField("CSTM_PART_FLAG");
       var CSTM_LLC_PART_FLAG = this.getField("CSTM_LLC_PART_FLAG");
       //we only list the first CB name grom the group defined in the mutually exclusive CB group
       var CSTM_PART_GEN_FLAG = this.getField("CSTM_PART_GEN_FLAG");
       var CSTM_PART_LTD_FLAG = this.getField("CSTM_PART_LTD_FLAG");
       var CSTM_PART_LTD_LIAB_FLAG = this.getField("CSTM_PART_LTD_LIAB_FLAG");


       if (CSTM_PART_FLAG.value == "1")
       {
       		fieldRequired.splice(fieldRequired.length,0,"CSTM_PART_GEN_FLAG");
        	fieldDescription.splice(fieldDescription.length,0,"Check General, Limited or Limited Liability");
       }

       if (CSTM_PART_FLAG.value == "1" || CSTM_LLC_PART_FLAG.value == "1")
       {
       		fieldRequired.splice(fieldRequired.length,0,"GM2_NAME","GM3_NAME");
        	fieldDescription.splice(fieldDescription.length,0,"Governing Member 1 - Name","Governing Member 2 - Name");
       }

          fieldRequired.splice(fieldRequired.length,0,"CSTM_AUTH_1ST_CHOICE_FLAG");
        	fieldDescription.splice(fieldDescription.length,0,"Page 2 - BE IT FURTHER RESOLVED AND AGREED - Choice 1 OR 2 OR 3?");
       
       if (CSTM_LLC_C_CORP_FLAG.value == "1" || CSTM_LLC_S_CORP_FLAG.value == "1" || CSTM_LLC_PART_FLAG.value == "1")
       {
          if (CSTM_PART_GEN_FLAG.value == "1" || CSTM_PART_LTD_FLAG.value == "1" || CSTM_PART_LTD_LIAB_FLAG.value == "1")
          {
            app.alert("You cannot check LLC's C or S or P AND Partnership's General or Limited or Limited Liability");
          }
       }

     sTemp= IMMSetAllMandatoryFields(fieldRequired, fieldDescription);
     if (sTemp== true){
        return true;
     }
       else
       {
          return false;
       }
   } catch (err) { 
   app.alert("Your custom code is incorrect in IMMValidateform function, it may be the logic or syntax. Correct the code and re-test the form. \r\n + Error: " + err); 
   }
}